{
  LW Animation Loaders -- LightWave Animation Loaders Handlers

  Based on lwanimlod.h which is:
  Copyright 1999, NewTek, Inc.
}

{
  Copyright 2012, Jameel Halabi

  This unit is part of the BlaiseWave wrapper,
  which is licensed under the BSD 2-Clause license (see licenses/license.txt).
}

unit LW_Animlod;

{$mode objfpc}{$H+}

interface

uses
  LW_Types   ,
  LW_ImageIO ,
  LW_Handler;

const
  LWANIMLOADER_HCLASS	= 'AnimLoaderHandler'  ;
  LWANIMLOADER_ICLASS	= 'AnimLoaderInterface';
  LWANIMLOADER_VERSION	= 4                    ;

type
  PLWAnimFrameAccess = ^TLWAnimFrameAccess;
  TLWAnimFrameAccess = record
    PrivData     : Pointer;
    Begin_       : function
                   (      PrivData : Pointer;
                          Type_    : Integer ) : PLWImageProtocol;
    Done         : procedure
                   (      PrivData : Pointer;
                          Protocol : PLWImageProtocol);
  end;

  PLWAnimLoaderHandler = ^TLWAnimLoaderHandler;
  TLWAnimLoaderHandler  = record
    Inst       : PLWInstanceFuncs;
    FrameCount : function
                 (       Instance  : PLWInstance         ) : Integer;
    FrameRate  : function
                 (       Instance  : PLWInstance         ) : Double;
    Aspect     : function
                 (       Instance  : PLWInstance         ;
                         W                               ,
                         H         : PInteger            ;
                         pixAspect : PDouble             ) : Double;
    Evaluate   : procedure
                 (       Instance  : PLWInstance         ;
                         Time      : Double              ;
                         Access    : PLWAnimFrameAccess ) ;
  end;

implementation

end.

